﻿/**
 * 
 * @file MaterialJohnsonCookDamageWidget.h
 * @brief 材料损伤界面
 * @author BaGuijun (baguijun@163.com)
 * @date 2024-06-20
 * 
 */
#ifndef MaterialJohnsonCookDamageWidget_H
#define MaterialJohnsonCookDamageWidget_H

#include "MaterialWidgetBase.h"

namespace Ui{
    class MaterialJohnsonCookDamageWidget;
}

namespace Interface {
    class FITKAbaMaterialJohnsonCookDamage;
}

namespace GUI
{
    /**
     * @brief 材料损伤界面
     * @author BaGuijun (baguijun@163.com)
     * @date 2024-06-20
     */
    class MaterialJohnsonCookDamageWidget :public MaterialWidgetBase
    {
        Q_OBJECT;
    public:
        /**
         * @brief Construct a new Material Johnson Cook Damage Widget object
         * @param[i]  item           材料对象
         * @param[i]  parent         父对象
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-06-20
         */
        MaterialJohnsonCookDamageWidget(EventOper::ParaWidgetInterfaceOperator * oper,Interface::FITKAbaMaterialJohnsonCookDamage* item, QWidget* parent = nullptr);
        /**
         * @brief Destroy the Material Johnson Cook Damage Widget object
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-06-20
         */
        ~MaterialJohnsonCookDamageWidget();
        /**
         * @brief 界面显示数据参数
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-06-20
         */
        void showValue();
        /**
         * @brief 数据检查
         * @return true 成功
         * @return false 失败
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-05-30
         */
        virtual bool checkValue() override;
        /**
         * @brief 数据存储
         * @return true 成功
         * @return false 失败
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-05-30
         */
        virtual bool saveValue() override;
    private:
        /**
         * @brief ui对象
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-06-20
         */
        Ui::MaterialJohnsonCookDamageWidget* _ui = nullptr;
        /**
         * @brief 材料对象
         * @author BaGuijun (baguijun@163.com)
         * @date 2024-06-20
         */
        Interface::FITKAbaMaterialJohnsonCookDamage* _materialItem = nullptr;
    };
}

#endif
